Information stored in databases is generally accessed through database applications. To get to the data, a user typically must first log on to a machine or operating system (OS) then log on again to the particular database to which access is sought. Machine log on systems generally include a number of robust security measures such as auditing, password expiration, minimum password length and account lockout after multiple invalid login requests. Database logon system, however, are often less secure, containing fewer and less robust security measures. In addition, conventional database logon protocols often require a case-sensitive password and other logon data to be sent from the client to the database server through an unsecured network such as the Internet, increasing the risk that password and other security data will be intercepted.
The current approach has several shortcomings. First, it requires users to complete two logons, one to the operating system and one to the database, thereby increasing the inconvenience and administrative overhead associated with sign-on. It also makes the database more vulnerable to unauthorized use, since database logon is completed separately from operating system logon, and does not receive the benefits of operating system or machine level security systems. These problems are exacerbated when access to a database is required from different platforms, as is commonly the case in enterprise computing settings. Each platform may have its own requirements for completing secure access to the database, further multiplying the resource and support burden associated with logon.
Existing solutions to these problems are limited and piecemeal. For instance, some sign-on approaches that consolidate multiple logons exist. In addition, there are drivers, namely pure JAVA type 4 Java Database Connectivity (JDBC) drivers that provide platform-independent database access without native dependencies. Although this functionality has long been desired in the art, no unified solution for providing platform-independent database access through single sign-on has been provided to date. Suggestions to implement this functionality have similarly fallen short, contemplating only single sign-on access between applications on the same platform and/or the same operating environment. Thus, even assuming that these suggestions could be implemented, a user would have to use different drivers to accomplish single sign-on from different platforms or environments to a database server.
Thus, what is needed is a way to import the advantages of single sign-on to a way to access to a database from different platforms and operating environments.